﻿namespace Sedodream.Web.Common.Extensions
{
    using System;
    using System.Xml.Linq;

    public static class XElementExtensions
    {
        public static string GetSafeValue(this XElement element, string attributeName)
        {
            if (string.IsNullOrEmpty(attributeName)) { throw new ArgumentNullException("attributeName"); }

            string value = element.Attribute(attributeName) != null ? element.Attribute(attributeName).Value : null;
            return value;
        }

        public static XAttribute GetOrCreateAttribute(this XElement element, string attributeName)
        {
            if (attributeName == null) { throw new ArgumentNullException("attributeName"); }

            if (element.Attribute(attributeName) == null)
            {
                // add the attribute
                // element.Attribute(attributeName) = new XAttribute(attributeName, null);
                element.Add(new XAttribute(attributeName, string.Empty));
            }

            return element.Attribute(attributeName);
        }
    }
}
